#include <bits/stdc++.h>
using namespace std;

// 生成随机数
mt19937 rnd(time(0));

// 生成[l,r]范围内的随机整数
int randInt(int l, int r) {
    return rnd() % (r - l + 1) + l;
}

// 生成一个n位的合法数字（无前导零）
string genValidNumber(int n, bool noZero = false) {
    string num;
    // 第一位不能为0
    num += char('1' + randInt(0, 8));
    // 剩余位可以为0-9
    for(int i = 1; i < n; i++) {
        if(noZero) {
            num += char('1' + randInt(0, 8));
        } else {
            num += char('0' + randInt(0, 9));
        }
    }
    return num;
}

// 生成单个测试数据文件
void genOneTest(int testId, string folder = "data", string prefix = "challenge") {
    string filename = folder + "\\" + prefix + to_string(testId) + ".in";
    freopen(filename.c_str(), "w", stdout);
    
    // 生成T组数据
    int T = randInt(1, 5);
    cout << T << "\n";
    
    while(T--) {
        // 根据测试点编号决定数据规模和特性
        int n;
        if(testId <= 4) {
            n = randInt(5, 10);
        } else if(testId <= 12) {
            n = randInt(900, 1000);
        } else {
            n = randInt(90000, 100000);
        }
        
        int k = randInt(0, n);
        
        // 特殊性质A: k <= 2
        if(testId >= 5 && testId <= 8) {
            k = randInt(0, 2);
        }
        
        cout << n << " " << k << "\n";
        
        // 特殊性质B: 所有数字不为0
        if(testId >= 9 && testId <= 12) {
            cout << genValidNumber(n, true) << "\n";
        } else {
            cout << genValidNumber(n) << "\n";
        }
    }
}

int main() {
    // 生成样例数据
    // 样例1：小数据
    genOneTest(1, "sample", "challenge");
    // 样例2：k <= 2的数据
    genOneTest(2, "sample", "challenge");
    // 样例3：大规模数据
    string filename = "sample\\challenge3.in";
    freopen(filename.c_str(), "w", stdout);
    cout << "1\n";
    cout << "100000 50000\n";
    cout << genValidNumber(100000) << "\n";
    
    // 生成测试数据
    for(int i = 1; i <= 20; i++) {
        genOneTest(i);
    }
    
    return 0;
}
